import type * as UtilType from './index.d';
const modules = import.meta.glob('./modules/*.ts', { eager: true });

function formatModules(_modules: any): UtilType.Utils {
  const result: Record<string, any> = {};
  Object.keys(_modules).forEach((key) => {
    const defaultModule = _modules[key].default;
    if (defaultModule) {
      Object.keys(defaultModule).forEach((key) => {
        result[key] = defaultModule[key];
      });
    } else {
      Object.keys(_modules[key]).forEach((k) => {
        result[k] = _modules[key][k];
      });
    }
  });
  return result as UtilType.Utils;
}

export default formatModules(modules);
